启动研究 篇二:快速搭建网络启动环境,iVentoy使用指南

2023-11-27 17:35:17 10点赞 76收藏 10评论

简介

之前给大家介绍过引导U盘制作工具Ventoy。今天给大家带来的是用于网络启动的工具iVentoy。简单的说就是通过网络来引导各种镜像的工具。

也许有的朋友在启动的时候会碰到以下这个界面,显示DHCP……。

快速搭建网络启动环境,iVentoy使用指南

没错,这就是PXE网络启动的界面。一般情况下,出现这个界面说明你电脑的启动顺序中网络启动的高于硬盘启动,引用Wiki的说明:

预启动执行环境Preboot eXecution EnvironmentPXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动电脑的机制。这种机制让电脑的启动可以不依赖本地数据存储装置(如硬盘)或本地已安装的操作系统。

在等待结束后系统还是会正常走到硬盘启动的界面。那是因为完整的PXE环境需要多种服务的配合。正常情况下需要同时设置dhcp,tftp,ftp/http服务,并且还需要手写配置文件。而iVentoy的出现帮我们大大简化了环境搭建的复杂度。使我们能够快速搭建起一套网络启动环境。当然,还是需要一些动手能力。

环境准备

首先介绍一下背景,应用官网的说明

通过网络安装系统(PXE)流程的第一步就是客户端向服务端发送DHCP请求来分配一个IP地址。因此必须有一个 DHCP Server 的角色。
iVentoy 内部集成了一个 DHCP Server,简单场景下可以直接使用这个内部集成的 DHCP Server。但此时局域网内不能再有其他的 DHCP Server。
iVentoy 也可以不启用这个内部的 DHCP Server 而是和第三方 DHCP Server 配合工作。

iVentoy 配合第三方 DHCP Server 工作时,自身不再提供DHCP Server的功能,而是只作为文件服务器的角色提供文件下载的服务。 客户端进入PXE流程之后,首先和DHCP Server交互获取到IP地址,以及 next-server地址 (就是 iVentoy)和 bootfile 选项的值。 然后接着就会通过 TFTP 从 next-server (iVentoy)那里下载 bootfile 文件,也就是启动文件。启动文件执行之后再加载启动菜单。这个是PXE启动的基本流程。

iVentoy有Docker镜像,服务端直接使用可以运行Docker的机器即可,我使用的是群晖DS418play。

由于需要修改DHCP服务,我这里使用的是一台已经开启了SSH的小米路由器7000。你也可以选择其他支持修改DHCP服务器的路由器。至于为什么不直接在小米路由器上起Docker。

  • iVentoy本身带DHCP服务器,搭建在路由器上可能和路由器的DHCP服务端口冲突,而我又不想关闭路由器上的DHCP服务。

  • iVentoy上也提供了ExternalNet模式不会启动内置的DHCP服务。但是需要对路由器上的DHCP服务做更多的配置。

    商品
    Xiaomi 小米 路由器7000 三频千兆Mesh无线路由器 Wi-Fi 6 黑色 单个装
    比上次发布低22%
    ¥406起
    看详情
    去购买

Docker环境

使用Docker-compose的方式,设置可以参考下图,也可以参考github或者docker hub上的docker-compose文件。

区别是我用了host模式,不用映射端口了。

  • iso文件夹用于存放IOS文件

  • data文件夹用于存放程序的一些数据文件

  • log文件夹用于存放日志

需要注意:privileged这里一定要设置为true,也就是以高权限执行容器。另外就是我的文件路径要替换成实际的保存路径。

快速搭建网络启动环境,iVentoy使用指南

启动后访问26000端口即可看到iVentoy的界面。如果看到的是英文界面,可以点击右上角的按钮切换中文。

快速搭建网络启动环境,iVentoy使用指南

iVentoy设置

  • 将Windows的镜像文件上传到ios文件夹

  • 切换到参数配置页面,根据你的实际情况修改DHCP 服务器模式,这里改为External模式,如果显示为灰色,先到启动信息里点右侧的红色方块停止服务。

  • 切换到启动信息,点绿色箭头开启服务。所有设置完成

DHCP服务器设置

dhcp服务器上需要设置next-server地址(也就是 iVentoy服务器地址)和 bootfile(也就是启动文件)选项的值。

ssh登录小米路由器,顺序执行以下命令。因为小米路由是基于OpenWRT的,所以以下命令同样对OpenWRT路由器有效。

uci set dhcp.linux="boot"

uci set dhcp.linux.filename="iventoy_loader_16000_uefi"

# 将192.168.1.2改为iVentoy服务器的实际地址

uci set dhcp.linux.serveraddress="192.168.1.2"

# 将xxxx改为iVentoy服务器的主机名

uci set dhcp.linux.servername="xxxx"

# 提交修改

uci commit dhcp

# 重启dnsmasq服务

/etc/init.d/dnsmasq restart

至此PXE网络启动环境已部署完成。

验证

重启你的电脑,使用快捷键进入启动选项(不同主板快捷键不同)。选择你的网卡进行启动。

快速搭建网络启动环境,iVentoy使用指南

当你看到以上界面,说明环境搭建成功。效果可以看我之前发的视频。

小米7000+群晖+iventoy,开启网络装机模式
09-30
2

驱动问题

在实际安装系统的过程中,可能会遇到找不到硬盘的问题,这种情况下大概率是驱动导致的,以我为例,就是因为安装了一块10GE的网卡导致网卡驱动未识别。

快速搭建网络启动环境,iVentoy使用指南

官方也给出了问题的说明,但是没有给出具体的解决方案:iVentoy 启动Windows时缺少驱动错误的说明

经过研究,可以通过文件注入的方式进行解决,我也在官方论坛做出了回复,有问题的小伙伴可以看这里,我就不具体赘述了。

总结

总体来说,iVentoy给大家又提供了一个快捷搭建网络启动服务器的方式,为大家重装系统提供了更多的便利,当然也可以网络启动WinPE用于救急。2.5G内网的安装速度也不算太慢。算是一个新的选择。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

x1
>
<
>>
<<
O
x1

Powered by Yiting & Majiang